1. Field of the Invention
The present invention relates to client computers that are bootable over a network and, in particular, client computers that may be serviced by multiple boot servers. More specifically, the present invention relates to a method for selecting an operating system on a target device that is remotely booted.
2. Description of the Related Art
Some current computing devices include support for pre-boot extensions to download an operating system (OS) from a network to which they are attached. Such target computing devices include computer motherboards, network adapters and boot diskettes. These devices rely on extensions to the bootstrap protocol (BOOTP) and to the dynamic host configuration protocol (DHCP). Such extensions are often termed the preboot execution environment (PXE) and require a DHCP/PXE server and a boot image negotiation layer (BINL) server.
BOOTP is a transmission control protocol/Internet protocol (TCP/IP) used by a diskless workstation, network computer (NC) or other target device to obtain its IP address and other network information, such as server address and default gateway. Upon startup, the target device sends out a BOOTP request to the BOOTP server, which returns the required information. The BOOTP request and response use an IP broadcast function, which is able to send messages before a specific IP address for a target device is known.
DHCP is software that automatically assigns an IP address to a target device logging onto a TCP/IP network. DHCP eliminates the need for manually assigning permanent IP addresses.
PXE enables a client network computer or other target device that lacks a native operating system to locate and acquire a small network bootstrap program (NBP) from a BINL server. The target device may acquire this NBP from a BINL server through a network attachment. PXE also provides a means for running the NPB on the target device. This allows the target device to continue acquiring additional software from the network that may be required to make the target device capable of performing the more complex and useful tasks assigned to it by an enterprise.
PXE relies on extensions of DHCP as the means by which the target device locates a BINL server from which to acquire an NPB. A facilitating property of DHCP is that the target device does not need the address of any other computer. The target device performs a DHCP broadcast to discover any PXE proxy server that can recognize that the target device is PXE-capable. The DHCP proxy server sends a DHCP offer to the target device. The offer contains the address of the BINL server from which the target device may obtain a NBP. The target device then obtains the NBP and all necessary software from the boot server via a trivial file transfer protocol (TFTP).
Current approaches to selecting the operating system to boot on a target device depend on the BINL server, which is delivered by multiple vendors, such as Intel™, IBM™ and Microsoft™. Each platform has different implementations and behaviors. Once the operating system is booted on a target device, a user can login and use the operating system currently available on the target device. However, if a user moves to a different target device on the network, he cannot have the OS he was using follow him to the new target device. There is also no way for the user to indicate which OS he would like to use on a given target device.
It would be desirable therefore to provide a method of selecting an operating system that overcomes the above.